package edu.caece.langprocessor.syntax.tree;

import java.util.List;

import edu.caece.langprocessor.semantic.SimpleSymbolsTable;
import edu.caece.langprocessor.syntax.GrammarItem;

public interface TreeNode {
	
	public GrammarItem getGrammarItem(); 

	public void accept(TreeNodeVisitor visitor);

	public void setLevel(int level);
	
	public int getLevel();
	
	public void setSymTable(SimpleSymbolsTable table);
	
	public void setErrorsList(List<String> errorList);
	
	public void setWarningsList(List<String> warningsList);

	public SimpleSymbolsTable getSymTable();
	
	public List<String> getErrorsList();
	
	public List<String> getWarningsList();
	
	public StringBuilder getCodeBuilder();

	public void setCodeBuilder(StringBuilder codeBuilder);
	
}